package homework.api.day03;

import java.util.*;

public class CollectionOneDemo {
    public static void main(String[] args) {
        //集合<泛型> 基本类型作为集合元素需要用包装类
        Collection<Integer> ci = new ArrayList<>();
        //集合添加元素
        ci.add(5);//自动装箱
        ci.add(4);
        ci.add(3);
        ci.add(5);
        System.out.println(ci);

        //删除与参数相等的元素，根据equals()是否相等判断(equals结果取决重写)，面对重复元素只会删除顺序上的第一个
        ci.remove(5);
        System.out.println(ci);

        //判断集合是否含有某个指定元素,根据equals()是否相等判断(equals结果取决重写)
        boolean b = ci.contains(4);
        System.out.println("是否含有contains:"+b);

        //获取集合元素数量
        int size = ci.size();
        System.out.println("集合长度size："+size);

        //判断集合是否为空，集合大小为0时表示是空，有元素时不为空
        //ci.isEmpty()可以执行，表示ci不是null,所以根据实际要考虑前面是否加null的判断
        boolean b2 = ci.isEmpty();
        System.out.println("判断集合是否为空isEmpty:"+b2);

        //清空集合
        ci.clear();
        System.out.println(ci);


        ci.add(5);//自动装箱
        ci.add(4);
        ci.add(3);
        ci.add(5);
        System.out.println("集合元素遍历");
        Iterator<Integer> it= ci.iterator();
        while(it.hasNext()){
            int n = it.next();
            System.out.print(n+" ");
        }
        System.out.println();
        for(Integer i : ci){
            System.out.print(i+" ");
        }
        System.out.println();
        System.out.println("---------------");

        System.out.println("集合数组转换");
        //参数中的数组长度可以小于等于集合长度，都会获得完整数组，一旦大于集合size,就会补全多余的
        Integer[] arr = ci.toArray(new Integer[0]);
        System.out.println(Arrays.toString(arr));

        //int[] array = new int[8];
        Integer[] array = new Integer[8];
        array[0] = 100;
        array[4] = 100;
        List<Integer> list = Arrays.asList(array);
        System.out.println(list);


    }
}
